perm filename GUIDE.LIS[VIS,HPM] blob sn#322317 filedate 1977-12-15 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Guide to psuedo Lisp routines in LIST.SAI[VIS,HPM]
C00006 ENDMK
C⊗;
Guide to psuedo Lisp routines in LIST.SAI[VIS,HPM];

Requires definition of
	NROOT, number of root nodes
	NLIST, number of list elements

Provides
	ROOT[1:NROOT]		base pointers

	LINIT			initialize the list system

list   ← CAR(LIST EL)		first element of a list;
list   ← CDR(LIST EL)		rest of the list;
list   ← CONS(LIST A,B)		create a new list cell

	 SETQ(RT, LIST)		give an integer (best if ROOT[I]) a value

boolean← NULLP(LIST EL)         is this the empty list?
boolean← LISTP(LIST EL)		is this a list but not empty?
boolean← ATOMP(LIST EL)		is this a not-list (empty list returns false)?

integer← LENGTHI(LIST LS)       the length of a list
string ← CVLIST(LIST LST)	converts a list to a string;

	 COLLECT(LIST NODE)	get rid of list starting at NODE.
				needed if you start list at integers
				other than the ROOT[i]s.